In non-volatile memory systems, data may be stored in the memory and subsequently, new versions of the data may be written in different storage areas, causing the old versions of the data to be obsolete. During the course of operation of the memory system, as write operations are performed, storage areas (e.g., blocks) in the memory may include all obsolete data or a combination of valid data and obsolete data. In order to free up storage space, the memory system may perform a garbage collection process in which valid data is collected together and moved to a different storage area, where it is stored in a generally more compacted way. The initial storage area may then be erased, which may make available storage space for new data.
The more and more times blocks or other storage areas are programmed and erased, the health of the memory degrades. Further, the greater the number of times memory interfaces are accessed in order to move data to execute write commands, the worse the write performance and efficiency of the memory system. Ways to improve efficiency and reduce write amplification may be desirable, including those ways that pertain to garbage collection.